package com.lance.answer.question_answer.tmp;

import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.lance.answer.gui.answer.AnswerObject;
import com.lance.answer.gui.answer.Util;
import com.lance.answer.gui.answer.gk.DealInfoUtil;
import com.lance.answer.question_answer.T;
import com.lance.answer.util.Constant;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;


/**
 * 解决话题讨论的问题
 */
@Slf4j
public class QuestionAnswerCreateTopic {

    /**
     * 进度表：
     * 6-18 19:55开始测试 公共行政学 行政管理专科
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        //学科中文名
        //  String subjectName = "公共行政学";
//        String subjectName = "Dreamweaver网页设计";
//        //专业中文名
//        String majorName = "计算机信息管理专科2103";

//        String subjectName = "当代中国政治制度";
//        //专业中文名
//        String majorName = "行政管理本科2103";

//        String subjectName = "阅读与写作(1)"; //
//        String majorName = "小学教育专科2103";

//        String subjectName = "政治学原理";
//        String majorName = "行政管理专科20秋";

     //   String subjectName = "当代中国政治制度";
    //    String subjectName = "政治学原理";
        String subjectName = "办公室管理";
        //     String majorName = "法学本科2103";

        // 政府经济学
//        String subjectName = "政府经济学";
//        //专业中文名
//        String majorName = "行政管理本科2103";
        //并发开启的浏览器数量
        int sync = 8;
        //是否提交答案
        boolean commit = false;
        //驱动路径
        String driverPath = null;

        //初始化日志配置
        Constant.initLog();
        //开启任务
        start(subjectName, sync, driverPath, commit);
    }

    public static void start(String subjectName,int sync, String driverPath, boolean commit) throws Exception {
        //获取模板路径,通过流的方式获取文件可以避免被打成jar包之后无法获取文件路径的异常



        List<TopicInfo>  infos = initTopic();
        List<String> paths = initTopicUrls(infos);
        Map<String,TopicInfo> infoMap = initTopic(infos);


        List<String> userNames = DealInfoUtil.countUserCourseInfo("E:\\gk\\userCourseInfo").get(subjectName);

        InputStream inputStream2 = new FileInputStream("E:\\gk\\allUser.txt");
        List<String> userString2 = IOUtils.readLines(inputStream2, "utf-8");

        Map<String, String> usernameAndPwd = Maps.newHashMap();
        for (String user : userString2) {
            String[] strs = user.split(",");
            String userCode = strs[0];
            String pwd = strs[1].substring(6, 14);
            pwd = "Ouchn" + pwd;
            usernameAndPwd.put(userCode, pwd);
        }



        List<List<String>> group = new ArrayList<>();
        int size = userNames.size();
        int step = size / sync;
        if (step == 0) {
            group.add(userNames);
        } else {
            for (int i = 0; i < sync; i++) {
                List<String> list2 = userNames.subList(step * i, (i + 1) * step);
                group.add(list2);
            }
            group.add(userNames.subList(step * sync, userNames.size()));
        }
        for (List<String> batchUser : group) {
            Constant.THREAD_POOL_BATCH.execute(() -> {
                try {
                    for (String user : batchUser) {
                        String userCode = user;
                        String pwd = usernameAndPwd.get(userCode);
                        //      String pwd = strs[1];
                        run(paths, subjectName, driverPath, userCode, pwd, infoMap);
                    }

                } catch (IOException e) {
                    e.printStackTrace();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            });

        }


    }


    // 管理学基础 2065001457555 19940419
    public static void run(List<String> urlTasks,String subjectName, String driverPath, String userName, String password, Map<String,TopicInfo> infoMap) throws Exception {
        WebDriver driver = Util.getDriver(driverPath);
        //String url = "http://student.ouchn.cn/";
        String url = "http://passport.ouchn.cn/Account/Login?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3Dstudentspace%26redirect_uri%3Dhttp%253A%252F%252Fstudent.ouchn.cn%252F%2523%252Fsignin-oidc%2523%26response_type%3Did_token%2520token%26scope%3Dopenid%2520profile%2520ouchnuser%2520ouchnstudentspaceapi%2520offline_access%26state%3Dca1cb5d0270b49fdaea508b8a846c457%26nonce%3Dd257df51b0a141ac8ed35b1caf59ef4c";
        driver.get(url);
        Thread.sleep(3000);
        //Util.login(driver, "2065001457555", "19940419");
        Util.login(driver, userName, password);
        Util.switchToFirst(driver);
        Thread.sleep(3000);
        // 形考作业的链接 管理学
        //List<String> urlTasks = Util.getCourseTaskUrl(driver, CourseTypeEnum.BasicManagement.name);
        //List<String> urlTasks = Util.getCourseTaskUrl(subjectCode);

        //chromeDriver.navigate().refresh();
        for (WebElement we : driver.findElements(By.className("media-body"))) {
            Util.switchToFirst(driver);
            // 找到管理学基础
            String mediaTitle = we.findElement(By.className("media-title")).getText();

            if (!mediaTitle.contains(subjectName)) {
                continue;
            }
            //点击进入学习的按钮
            WebElement studyButton = we.findElement(By.cssSelector("button[class='btn bg-primary']"));
            studyButton.click();
            //Util.switchToLast(driver);
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

        System.out.println(urlTasks.toString());
        for (String urlTask : urlTasks) {
            // FIXME 当完成第一份形考任务时，必须提交，否则会弹出 ”是否保存当前页面“消息
            driver.get(urlTask);
            Thread.sleep(2 * 1000);
            // 点击继续作业

            TopicInfo topicInfo = infoMap.get(urlTask);
            try {
                WebElement doWorkArea = driver.findElement(By.cssSelector("*[class='btn btn-primary']"));
                doWorkArea.click();


                String title =topicInfo.getTitle();
                try {
                    WebElement my = driver.findElement(By.cssSelector("span[class='usertext mr-1']"));
                    title = title+"-"+my.getText();
                }catch (Exception e){

                }
                String answer = topicInfo.getContent();

                driver.findElement(By.id("id_subject")).sendKeys(title);
                Thread.sleep(2000);
                WebElement iframe = driver.findElement(By.id("id_message_ifr"));
                String js = "document.getElementById('"+iframe.getAttribute("id")+"').contentWindow.document.body.innerText = '"+answer+"'";
                System.err.println(js);
                ((JavascriptExecutor)driver).executeScript(js);
                //  Thread.sleep(200000);
                driver.findElement(By.id("id_submitbutton")).click();
            } catch (Exception e) {
                System.err.println("taskUrl:" + urlTask + "  occur error");
                e.printStackTrace();
                Thread.sleep(2000000);
            }
            //回到试题首页
            TimeUnit.SECONDS.sleep(3);
        }

        Thread.sleep(2000);
        driver.close();
        driver.quit();
    }




    @Data
    static class TopicInfo{
        String url;
        String title;
        String content;

        public TopicInfo(String url, String title, String content) {
            this.url = url;
            this.title = title;
            this.content = content;
        }
        public TopicInfo(){

        }
    }

    static List<TopicInfo> initTopic(){

        List<TopicInfo> infos = Lists.newArrayList();
//-------------------Dreamweaver网页设计-------------------
//        TopicInfo info1 = new TopicInfo("http://xinjiang.ouchn.cn/mod/forum/view.php?id=225456","网页的内容应该包括哪些元素",
//                "（1）网页的内容应该包括哪些元素？ 视频，音频，图片，文字，动画 （2）一般网站的规划与设计应该考虑哪些因素？ 1、对市场进行分析，网站制作前必须做的事情！ 2、明确网站的开发目标和功能。 3、技术需求：完成网站需要的技术是否能够实现。 4、确认网站内容：也就是通过什么样的表现形式，表现需要表达的内容。 5、估算费用：通过比较的方法，估算需要的费用。 6、测试计划：网站开发过程的测试节点和测试方法，已经对性能实现的确认方式。 7、维护计划：对网站的维护方式、人员、经费等。 8、完成报告：这是网站的规划与设计过程的最终结果，可以确定是否开发这个网站！ （3）商业网站在规划与设计时应着重考虑哪些因素？ 一、清晰的网站目标定位 你明确了目标，就好像在茫茫大海中寻找到了前进的方向。避免走过多的弯路。只有选择正确了，才会有好的结果。 二、注册域名 找准了方向以后，就要选择一个好记忆的域名让用户轻易的记住你的网站，方便下次访问。这也是很关键的一步。 三、服务器的选择 服务器关系着网站的后期发展。好的服务器你可以放心的做网站运营推广，这远比选一个安全等等各方面做得不太好的空间强得多，起码你不用顾虑那么多。 四、网站的制作 建议在做网站建设要根据自己的实际情况出发，量身定制自己的网站。网站后台的制作网站的操作后台一点要简洁，便利。网站结构的设计这点比较重要，一个网站做出来，一定要有合理的结构布局，一方面提高用户体验，一方面方便搜索引擎蜘蛛爬行。 五、网站推广 站做好了以后就要把它推广出去，让更多的人认识了解我们这个站。推广方法有很多，可以到各大论坛博客推广，百度竞价，QQ推广等等。");
//      infos.add(info1);
//      TopicInfo info2 = new TopicInfo("http://xinjiang.ouchn.cn/mod/forum/view.php?id=225462","网页中应用模版的方法",
//              " 网页模板只是构建一个完整的页面框架，使用过程中，内容是可以随意替换的，第一种使用方式是，直接上网下载模板，使用专门的软件工具打开，保持框架不变，更改内容即可。如果你是程序小白，不要擅自改动上面的框架，已免造成页面布局混乱等情况。第二种使用方式是，直接在自助建站平台进行网站模板的使用和内容的更改。这种网页模板支持可视化操作，对于模块可以拖动或随意增加，即使是小白也能轻易上手，网页效果也更具有辨识度。");
//        infos.add(info2);
//      TopicInfo info3 = new TopicInfo("http://xinjiang.ouchn.cn/mod/forum/view.php?id=225464","为什么要进行网站的测试？",
//              "网站测试可以测试网站是否稳定，可以测试每天的网站数据，日常工作中我们每天都浏览成千成万的网站，而且为了获取不同的信息，每天浏览的网站都不相同，如果网站有任何问题的话直接就影响用户体验。 在互联网快速发展的进行，我们的日常与生活已经完全离不开对网站的需求，因此我们在浏览一个网站时，这个网站的稳定性以及兼容性就显得非常重要。 网站不稳定的情况 我们在浏览网站时，在浏览的过程中，有时会出现错误代码提示，或许是连接不上，或者是找不到所要打开的网页，这就是一种网站不稳定的情况，出现这种情况的可能性非常多，比如网站的内测没有做好，又或者网站访问人数过多，又或者网站源代码出现错误，这些都会引起我们在浏览网页时，出现各种各样的问题。 网站完成后的内测 通常在建设完成一个网站之后，作为设计开发者，都会对网站进行内测，对于网站系统内测就是指，将网站的所有模块全部进行不断的测试，重复对一个模块不间断的测试，不停的寻找在搭建过程中可能遗漏的地方，只有经过不间断的测试，才能保证网站系统没有大的漏洞。 网站整体测试 网站搭建完成之后，并不会只是进行内测，还会对网站进行整体的测试，而对于整体测试的要求就要高许多，要测试网站在访问量非常大的情况下的稳定性，还要测试网站对于各种浏览器的兼容性，要知道现在的浏览器各种各样，而每个用户的使用习惯是不一样的，因此要保证网站对于浏览器的兼容性一定要好。 网站试运行 有时候在网站经过内测以及整体的测试之后，为了保证网站运营的正常，也还会进行一段时间的试运行，网站进入试运行之后，对于真实用户的反应就多了许多，这样也就更加能够保障网站在运营过程中不会出现更多的问题。");
//        infos.add(info3);
//-------------------Dreamweaver网页设计-------------------

        //-------------------当代中国政治制度-------------------
//        TopicInfo info1 = new TopicInfo("http://xinjiang.ouchn.cn/mod/forum/view.php?id=267388","我国公民的基本权利和基本义务",
//                "根据我国宪法的规定，我国公民享有基本权利主要包括以下几个方面：平等权 政治权利和自由 宗教信仰自由 人身自由 社会经济权利 文化教育权利和自由 特定主体权利的保护 监督权。我国公民应该履行的基本义务主要包括以下几个方面：维护国家统一和民族团结 遵守宪法和法律，保守国家秘密，爱护公共财产，遵守劳动纪律，遵守公共秩序，尊重社会公德 维护祖国的安全、荣誉和利益 依照法律服兵役和参加民兵组织 依照法律纳税和其它义务。我国宪法规定的公民基本权利和义务的主要特点有：公民基本权利和义务的广泛性 公民基本权利和义务的平等性 公民基本权利和义务的现实性 公民基本权利和义务的一致性。 一、我国公民的基本权利自由具有广泛性 　　宪法确认和保障的公民权利自由，体现着民主的性质和人民在国家中的地位。社会主义民主，就是人民当家作主，在我国，国家的一切权力属于人民，来自人民，广大人民享广泛的权利自由，能够通过各种途径 \"当家作主\"，享受各项权利自由，行使参加国家管理的权利。社会主义民主\"一切权力属于人民\"的本质属性，决定了我国宪法对公民基本权利自由的规定具有广泛性。这种广泛性表现在两个方面： 　　（一）享有基本权利自由的主体具有广泛性 　　我国公民权利自由的广泛性，首先表现在享受公民权利自由的主体极其广泛。在我国，被依法剥夺部分公民权利自由的公民，只是极少数，绝大多数公民都享有宪法和法律规定的各项权利自由。 　　在政治权利方面，据统计，我国有选举权和被选举权的人占 18周岁以上公民人数的 99.97%，被依法剥夺政治权利的公民不到千分之一。剥夺政治权利属于我国刑法规定的一种附加刑，必须经人民法院对犯罪分子依法判处才能适用。没有被适用该附加刑的被关押的罪犯，其在服刑期间，仍然享有选举权。 　　在人身自由方面，据统计，到 1994年底，我国监狱在押犯总数为128.7万人，仅占全国人口总数的万分之十点零七，比某些西方发达国家（万分之五十六点五）低得多。也就是说，我国被依法剥夺人身自由的公民只有千分之一强。他们仍享有申诉权、辩护权、人格不受侮辱和人身安全、合法财产不受侵犯权、控告权、检举权，以及继承权等其他未被法律限制的公民权利。 　（二）基本权利自由的范围广泛 我国公民权利自由的广泛性还表现在宪法和法律规定的公民权利自由的内容和范围非常广泛，并逐步扩大。公民的权利自由，涉及到公民社会生活和个人物质生活、精神生活的各个方面。我国宪法中公民基本权利自由的范围，包括了从个人的、政治的到社会经济的和文化教育的等各个领域，其内容是极其广泛的。我国政府特别重视包括人身自由权、财产权、劳动权、物质帮助权、受教育权以及生活环境权在内的人民的生存权。我国现行宪法对有关生存权的各项权利自由明确予以确认。 　　 二、我国公民的基本权利和义务具有平等性 　　平等性是我国公民权利义务的一项基本原则，也是社会主义国家公民享有权利承担义务的一个重要特点。我国公民基本权利义务的平等性是指，公民一律平等地享有法定权利，平等地承担法定义务。 　　（一）公民平等地享有法定的基本权利 　　国家在赋予公民法定的基本权利时，不因公民的财产状况、民族、种族、性别、职业、家庭出身、宗教信仰、教育程序、居住期限的不同而有差别。任何自然人，只要具备公民资格，就同其他公民同样地享有法定的公民基本权利。社会主义国家消灭了剥削人的制度，真正做到了全体公民平等地享有法定的基本权利。 　　（二）公民平等地承担法定的基本义务 　　国家在设定公民基本义务时，不因公民的财产状况、民族、种族、性别、职业、家庭出身、宗教信仰、教育程度、居住期限的不同而不同。全体公民都平等地承担法律规定的基本义务。在我国，不允许有不承担法定义务的特殊公民，也不允许将自己的法定义务强加到其他公民头上。 　 四、我国公民的基本权利和义务具有一致性 　　现行宪法明确规定： \"任何公民享有宪法和法律规定的权利，同时必须履行宪法和法律规定的义务。\"（第33条）这是公民基本权利和义务一致性的根本内容和概括表述。它贯穿于宪法关于公民基本权利义务的所有条文规定中。公民基本权利义务的一致性，表现在以下四个方面： 　　1. 任何公民享有宪法和法律规定的权利，同时必须履行宪法和法律规定义务。不允许任何人只享有权利而不履行义务。在社会生活中，权利主体同时也必须是义务主体，享有权利就必须承担义务，社会正义和司法公正也正是在坚持这一点上得以体现。 2. 权利和义务是相互依存、互为条件的。在社会主义法律规范所规定和调整的社会关系中，一方的权利就是另一方的义务，权利主体权利的实现依赖于义务主体义务的履行。如债权人债权的实现依赖于债务人履行还债义务。 3. 某些具体的公民权利同义务是重合的、统一在一起的，具有既是权利又是义务的双重性质。例如，依法服兵役和参加民兵组织既是公民的一项光荣义务，又是公民保卫祖国、抵抗侵略的神圣权利。 　　4. 权利义务是相辅相成、相互促进的。公民享有广泛而真实的权利，就有条件有能力去积极履行法定的各项义务 公民忠实而积极地履行了宪法和法律规定的义务，国家各项事业就能蓬勃发展，不断向富强、文明、民主的方面迈进，从而使公民能享有更多更广泛的权利自由，使公民的权利自由有更充分的物质保障和更坚实的物质基础。 　　我国的宪法和法律贯穿着权利义务一致的原则精神，社会主义制度结束了一部分人享有权利而另一部分人承担义务的不合理状况，大多数公民都能在享有权利的同时自觉地履行义务。法定权利有其法定界限，行使法定权利就必须承担不超出其法定界限的义务，超出了这一界限，就会侵入别人权利的领地，就会损害国家、集体或他人的合法权利。对此，现行宪法专条规定： \"中华人民共和国公民在行使自由和权利的时候，不得损害国家的、社会的、集体的利益和其他公民的合法的自由和权利。\"（第51条）这一条以禁止性规范的形式强调和保障公民权利义务的一致性，指导公民正确行使法定权利，履行法定义务是公民正确行使法定权利所必须遵守的根本原则。 　　人民的权利和自由不是 \"天赋 \"的，而是斗争得来的。中国人民的权利自由是中国人民在中国共产党领导下，经过长期艰苦斗争才得来的，是得来不易的。因此，每个公民都必须十分珍惜它，爱护它，正确地运用它，保证宪法规定的公民基本权利和义务的正确实施。");
//        infos.add(info1);
        //-------------------当代中国政治制度-------------------



        //-------------------政府经济学-------------------
//        TopicInfo info1 = new TopicInfo("http://xinjiang.ouchn.cn/mod/forum/view.php?id=310901","什么是政府经济？如何理解市场经济条件下政府的经济行为？",
//                "政府经济，是一种与企业 个人经济活?动相对应的经济行为，即以政府为主体的资源配臵及其宏观经济管理。?可以从以下几个方面理解政府经济：? （1）政府经济活动的主体?是各级政府? （2）政府经济的客体是参与部分国民收入或国民生产总?值分配，并对国民经济运行进行宏观调控? （3）政府经济的形式主要?表现为政府收入 政府支出以及宏观经济管理。? （4）政府经济的依?据是社会公共权力。例：?构建和谐社会与收入分配合理化??2 个人提纲：构建和谐社会与收入分配合理?收入分配是当前社会经济生活中人们普遍关心的问题。我国收入?分配差距的扩大已进入分配不公平区间。?又因为收入分配差距扩大是?在经济体制改革和经济发展中出现的问题，?所以还要通过改革和发展?加以具体解决。?现阶段的基础性收入分配制度是按劳分配与按生产要?素分配相结合。?社会整体的分配体系构筑原则是效率优先 ?兼顾公平，?逐步走向共同富裕。?为此就需要按照构建和谐社会的要求制定和调整?现行收入分配政策，将收入分配差距调例如农村居民人均收入只?相当于城市居民的?40％。这种城乡差距大大高于国际标准。国际上?的城市与农村的收入比率一般低于?1.5，极少超过?2。统计资料显示，?在我国最贫困的?20％的家庭占有全部收入的?4.27％，而最富有的?20％的家庭占有全部收入的?50.24％。可见，随着收入差距的扩大，?业已出现一定程度的相对贫困现象。?导致收入差距扩大的原因很多。如前所述，历史上城乡收入的差?距就很大。?近年来还由于以下原因加剧了此情况的发生：?1.大部分国有企业通过深化改革刚刚脱困，效益不高，下岗和失?业的职工还比较多。?2.由于市场化发展不平衡，某些行业仍存在垄断强势，因而一些?人收入过高。?3.国家税收杠杆调控不力，?对高收入者征收个人调节税力度不够；?而国家转移支付能力不足，?致使在提高城镇居民住房等各项补贴的同?时，对提高农村居民收入方面出现明显滞后。?4.行政干预不当使劳动力和资本长期分别扭曲地集中于农村和城?市。由于劳动力和资本缺乏统一的市场配臵，在城乡经济二元结构存?在的情况下，城乡经济效率差距很大，必然引起收入上的巨大反差。?在全国年均?GDP?增长?7.2％以上的同时，?还应看到不同地区和行业?的增长不平衡。还有相当一部分企业效率不高，职工收入增速减缓，?又由于收入差距的扩大，使近年来社会总需求相对不足。??3 ?小组讨论后形成的提纲：讨论成员：宋建国 冯晓鑫。? ?在社会主义制度下，到底应该是效率优先呢，还是应该首先考虑?公平问题，一直存在着争议。公平的概念侧重于社会人文价值判断，?而效率的概念则更为强调物质成果的有效获得。?追求效率是社会主义?经济发展的基本要求，没有效率只能产生平均主义的“大锅饭”式的?公平。我们要以邓小平理论和“三个代表”重要思想为指导，落实科?学发展观，从构建和谐社会的要求出发，形成合理解决这一问题的原?则 制度和实现机制。?社会主义社会整体分配体系构筑的原则是：效率优先，兼顾公平，?逐步走向共同富裕。在公平与效率的关系上，体现以下几点：? ?（1）以生产力发展为根本出发点，必须要求效率优先。因为解决中?国一切问题的关键是加速发展生产力，“发展才是硬道理”。把效率?放在优先位臵，也就是把生产力的发展放在优先的位臵。这样才能为?有效提高综合国力和人民的收入水平提供可靠的物质保证。? （2）解决公平与效率的关系问题需要有多层次的社会过程，要将其?放在相应的领域中作为侧重点分别加以解决。例如，在生产领域，因?为它与生产力发展直接相关，就需要侧重效率优先。而在国民收入和?再分配领域，则要侧重考虑解决兼顾公平的问题。还应看到，从普遍?贫穷走向共同?富裕的目标需要有一个较长时期的发展过程，不能超越必要的历?史阶段。? （3）效率优先，兼顾公平，体现了构筑社会整体分配体系，全面合?理解决收入分配问题的大思路。?? 为了有效地促进效率优先，兼顾公平原则的实现，还需要建立四?个层次的收入分配机制：其一，在企业层次上把按劳分配和按生产要?素分配结合起来。这就要求积极推进企业内部分配制度的改革，完善?劳动者的主体地位，确立以资产为核心的生产要素分配制度，并形成?有效的激励约束机制。?其二，在市场层次上培育收入分配机制，关键是开放生产要素市?场，为要素的流动 重组和资源的优化配臵，提供必要的体制保证。?其三，在政府层次上建立和完善国民收入再调节体系。要从社会?整体利益和社会经济稳定协调发展的目标出发，维护社会必要的公?平。?最主要的是健全社会保障制度，?同时通过税收 ?转移支付等手段，?调节社会收入分配的差距。?其四，在社会层次上建设社会支持和社会救助体系。要调动社会?各方面的力量，发扬扶危济困 敬老爱幼的民族优良传统。发展社会?支持 社会救助的中介服务组织和机构，使之在解决公平与效率关系?问题上发挥积极的作用。");
//       infos.add(info1);
        //-------------------政府经济学-------------------


        //-------------------阅读与写作(1)-------------------

        //    TopicInfo info1 = new TopicInfo("http://xinjiang.ouchn.cn/mod/forum/view.php?id=290330","你对阅读与写作二者之间的关系的理解",
        //            "我认为阅读与写作二者之间的关系是非常密切的。二者之间相辅相成，相互促进。.在语文教学中阅读与写作二者都是不可缺少的，无论离开了哪一方，语文教育都会倾斜也会失去平衡的.阅读与写作在语文教学中应该是互渗互补，相得益彰的.阅读是写作的基础和借赏，写作是阅读的升华和创造.没有写作欲望的阅读，人的潜在创造力就会受到抑制.可以说阅读与写作分则两伤，合则共荣.所以，我们在语文学习中，应该把阅读与写作有机地结.合起来，相互促进，共同提高，从而迅速地提高自己的语文素质和能力，增强自己的人文素养。写作是阅读能力的一一个外在的体现。著名特级教师陆志平明确指出:“学校的语文教育要突出重点，就是要重读写。”对中学语文颇感兴趣的北京大学中文系著名教授钱理群说:“强调要以读、写为重点是有道理的，这或许可能对改变日前语文教育要求不切实际、过分繁琐、学生学业负担过重的现状，提供了一个新的思路。”可见，在提倡素质教育的今天，确定阅读和写作在语文教育中的重要地位，不仅合理，而且意义非同寻常。教师和学生大概都知道阅读的写作，认为这也是老生常谈的东西，仍然没有什么新意，，但我想，我们应该真正了解和认识什么是真正意义上的阅读与写作，这对语文教学应该有很大的帮助，传统的阅读，只承认主体对文本的被动接受，充其量是充当鉴赏者或批判者，而我觉得，阅读应是一种主体的能动创造，阅读主体对文本的接受过程实质是一种再创造过程，从思维科学的角度看，写作是一-种充满生命活力的“生活-作者-文本一读者”的四维结构，而这四维结构的核心就是思维，写作是一种独特的精神创造，是作者的一处脑力劳动，是作者的某种思维运动过程，阅读者应是课程和作品的主体和开发者，学习者阅读者的个人体验，个人的情感以及知识积累,对作品的解读在很大的关系，所以我认为阅读是一个心智的过程，是一一个思维的过程，必须结合阅读者的个人体验，个人情感和思维才能够真正地从作品中获得相关的内涵，情感、知识，能力等，哲学家费尔巴哈说过:“情感只能为情感所了解。”说的就是这个问题，所以阅读是一次思维与情感的过程。实践证明，阅读与写作的关系密切相关相联，阅读教学与作文教学是语文教学的主要内容的两个方面，并且有机统一在语文教学之中，二者之间有着互动性、渗透性、互助性。阅读是写作的源泉，阅读教学是打通作文教学的通道.尤其是“快速阅读法”的应用，学生们快速丰富知识，也为作文教学开掘出更多的活水。对改变教师的教学观念和教学方法有很大的帮助，教师在备课时能将阅读教学与作文融为一体，这样更有助于学生的学习和提高学生的写作能力.");
        //    infos.add(info1);
        //-------------------阅读与写作(1)-------------------


        //-------------------政治学原理------------------- FIXME  267792s?11-27
//        TopicInfo info1 = new TopicInfo("http://xinjiang.ouchn.cn/mod/forum/view.php?id=267792",
//                "论联系实际讨论为什么说政治权力要受到制约？如何制约政治权力",
//                "答:(1)政治权力是政治主体对一定政治客体的制约能力，它体现在政治主体为实现某种利益或原则的诗句政治过程之中,政治权力是人们选择以力量对比和力量制约方式作为实现和维护自己利益要求的过程中，聚集形成的一种力量,它是在特定的力量对比关系中,政治权力主体拥有的对其他社会和政治力量及其他政治权力客体的制约力量。政治权力在本上表现特定前力量制约关系,在形式上呈现为特定的公共权力。政治权力不是天生的，它产生于人们之间的社会关系中它之所以存在就在于权力客体的服从，但是权力客体对于权力主体的服从，有时并不是自愿的,这验引起了权力合法化的问题，任何权力都离不开合法性的支持，一旦某个政治权力的合法性在会众心t快去了正当性。也就盖味着政权出现了危机,所以,政治权力自产生之日起就存在者被认同的问题，只有保证了政治权利的合法性，即被“认同\"才能保i政治权力的顺利实施以及长时间的延续，以权利的权力，首当其冲的是实行权力的分割制衡原则,之所以必须首先介分割权力是由权力性质决定的，“绝对的全力绝对地导致腐败\"，这是不论社会政给制度差异短如何都适用的一个现代政治戒条,权力具有自膨胀的天性,如果不对权力加以分割，这种政治制度就必然成为一种独断专行的制度，绝对的自而不会有真正批评的孤芳自赏的制度，从长期的执行效应来看，也相应会成为一种低效率的政治制度，其次，以权力制");
//        infos.add(info1);
        //-------------------政治学原理-------------------



        // 办公室管理

        //-------------------办公室管理-------------------
        TopicInfo info1 = new TopicInfo("http://xinjiang.ouchn.cn/mod/forum/view.php?id=267792",
                "办公室管理力",
                "办公室担负着上情下达、下情上报、对外交往和后勤服务等繁重工作，处于协调机关各部门、连接领导和基层的枢纽地位，是单位的信息中心、服务中心、参谋中心、运转中心和指挥中心。具有参谋、助手、协调、服务、把关、督办等职能。");
        infos.add(info1);
        //-------------------办公室管理-------------------


        //-------------------劳动与社会保障法-------------------
        // http://xinjiang.ouchn.cn/mod/forum/view.php?id=270351

//        TopicInfo info1 = new TopicInfo(" http://xinjiang.ouchn.cn/mod/forum/view.php?id=270351",
//                "网上课堂案例讨论",
//                "1.该公司的行为不合法。根据劳动法规定，延长劳动时间应当遵循协商的原则，征得劳动者本人的同意，而不应当以胁迫或者威胁的手段。并且，延长工作时间，一般每日不超过l小时；因特殊原因需要延长工作时间的，在保障劳动者身体健康的条件下，每日不得超过3小时，每月合计不得超过36小时；《劳动法》第38条还规定，用人单位应当保证劳动者每周至少休息一日。本案中，公司加班不属于因特殊原因需要延长工作时间的情形，因此，每日加班不得超过1小时，每月合计不得超过36小时。许某在2004年8月的加班时间明显已经超过了《劳动法》的限制，侵害了劳动者的休息权。 2.根据《劳动法》44条的规定：“安排劳动者延长工作时间的，支付不低于工资的150%的工资报酬；休息日安排劳动者工作又不能安排补休的，支付不低于工资的200%的工资报酬；法定休息日安排劳动者工作的，支付不低于工资的300%的工资报酬。”天景商贸公司应当遵照此条规定给许某支付加班工资。");
//        infos.add(info1);
        //-------------------劳动与社会保障法-------------------

//        TopicInfo info1 = new TopicInfo("http://xinjiang.ouchn.cn/mod/forum/view.php?id=267388",
//                "当代中国政治制度",
//                "当代中国政治制度当代中国政治制度当代中国政治制度当代中国政治制度当代中国政治制度当代中国政治制度当代中国政治制度当代中国政治制度当代中国政治制度当代中国政治制度当代中国政治制度");
//        infos.add(info1);

        return infos;

    }

    static Map<String,TopicInfo> initTopic(List<TopicInfo> infos){
        Map<String,TopicInfo> map = Maps.newHashMap();
        infos.forEach(e->map.put(e.getUrl(),e));
        return map;
    }

    static  List<String> initTopicUrls(List<TopicInfo> infos){
        List<String> urls = Lists.newArrayList();
        infos.forEach(e->urls.add(e.getUrl()));
        return urls;
    }

}
